package com.cyru.statemachine;

import com.cyru.statemachine.core.State;
import com.cyru.statemachine.core.StateMachine;

/**
 * description:
 *
 * @author zhangxuchuan
 * date 2022/5/3
 */
public interface Visitor {

    String newLine = "\n";

    default String visitOnEntry(StateMachine<?, ?, ?> stateMachine) {
        return "";
    }

    default String visitOnExsit(StateMachine<?, ?, ?> stateMachine) {
        return "";
    }

    default String visitState(State<?, ?, ?> state) {
        return "";
    }

}
